package servidores;

public class Transportes {
	
	private int id;
	private int lugaresLibres;
	private RutaAsignada rutAsignada;
	private Indicaciones indicActual;
	
	
	public Transportes(int id,int lugares) {
		super();
		this.id = id;
		this.lugaresLibres=lugares;
	}
	
	public int getId() {
		return id;
	}
	
	public void setRutAsignada(RutaAsignada rutAsignada) {
		this.rutAsignada = rutAsignada;
	}

	public RutaAsignada getRutAsignada() {
		return rutAsignada;
	}

	public int getPoxima() {
		if (rutAsignada==null)return 0;
		return rutAsignada.getPunto();
	}
	
	public String getAvance(){
		if (rutAsignada==null)return " No avance";
		this.indicActual=this.rutAsignada.getIndicacion();
		return this.indicActual.getRutActual();
	}
	
	public String toString(){
		String line="Transporte Numero "+ id;
		if (rutAsignada==null)return line+": --Sin Ruta asignada";
		return line +": "+ rutAsignada;
	}

	/**Configura los lugares ocupados, devuelve la cantidad de pasajeros que no entran
	 * */
	public int setLugaresLibres(int pasajeros) {
		int ant=this.lugaresLibres;
		if(pasajeros-this.lugaresLibres>0){
			this.lugaresLibres=0;return pasajeros-ant;
			}
		else {
			this.lugaresLibres=this.lugaresLibres-pasajeros;
			return 0;
		}
	}

	public int getLugaresLibres() {
		return lugaresLibres;
	}
}
